package com.wn.web;

import com.wn.common.pojo.Rsp;
import com.wn.common.pojo.TravelCityDetail;
import com.wn.service.CustomizeService;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.LinkedList;
import java.util.List;

/**
 * @BelongsProject: hurricane_travel
 * @BelongsPackage: com.wn.web
 * @Author: lhq
 * @Description: 私人定制接口
 */
@RestControllerAdvice
@RequestMapping("customize")
@Api(value = "私人定制接口",description = "私人定制接口")
public class CustomizeController {
    @Autowired
    private CustomizeService customizeService;

    @PostMapping("getList")//根据用户传递的目的地的名称查询出该目的所对应的各种信息
    public Rsp getList(@RequestBody List<String> Citys){

        //前端传递一个参数  参数为目的地详情列表集合
        if(Citys.isEmpty()){
            //如果用户还未选择目的地
            return new Rsp().code(20000).msg("请选择目的地！");
        }
        //新建一个集合存放要返回的值
        List<TravelCityDetail> travelCityDetailList = new LinkedList<>();
        //遍历集合
        for (String T: Citys) {
            //查询集合中每一个对象的具体信息
            TravelCityDetail detail = customizeService.getListByDetails(T);
            System.out.println("查询集合中的每一个对象："+detail);
            //根据对象的主键查询

            travelCityDetailList.add(detail);
        }
        return new Rsp().success(travelCityDetailList);
    }

    /**
     * 根据前端传递来的城市名称进行目的地详情添加
     * @return
     */
    @PostMapping("addCityDetail")
    public Rsp addNewCityDetail(String city){
        //拿到城市名称之后传递给业务层进行添加操作
        return (customizeService.addNewCityDetail(city) == 1)? new Rsp().success(1) : new Rsp().fail().msg("该目的地城市已存在！");

    }



}
